<body>
    <script>
        // # 四、递归
                // 1. 递归其实只是函数的一种执行场景：在函数内部执行自身
                //     - 递：在函数内部不断执行自身的过程
                //     - 归：在函数内部不断执行自身后的逐层返回的过程
                // 2. 递归的特点
                //     - 占用大量内存，不好控制
                //     - 浪费性能，在低版本浏览器中可能会造成内存泄漏
                //     - 利用递归的思想解决一些需要重复执行的问题
                //         - 利用return结束递归的执行
                //     - 慎用
                // 3. 利用递归的思想解决问题
                //     - 发现总结出递归的公式
                //     - 发现总结出递的终点，归的起点
                //     - 案例
                //         - 递归阶乘
                //         - 兔子问题（斐波那契数列）
        
        function abc(n){
            if(n===1){
                return 1;
            }else{
                return n*abc(n-1)
            }
        }
        // console.log(abc(4))
    // 1,1,2,3,5,8,13,21 ...
    // fn(5) = fn(4) +fn(3)
    // fn(4) = fn(3) +fn(2)
    // fn(3) = fn(2) +fn(1)
    // fn(2) = 1
    // fn(n) = fn(n-1) + fn(n-2)

    function fun(n){
      
        if(n ===1 || n === 2){
            return 1;
        }else{
           return fun(n-1) + fun(n-2)
        }
    }
    // console.log(fun(10))

    var a = 2
    var b =3
    var c= 4
    if(a<b && b===c){
     console.log(123)
    }

  

        
    </script>
</body>